﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Cofe.Core.Property;

namespace Cofe.Core.Interfaces
{
    /// <summary>
    /// ISecondaryEntryLinkPP contain this to provide shortcut to update link in the specified directory.
    /// </summary>
    public interface IContainerBehavior
    {
        IPropertyHost Add(int position, string label, string targetPath, ParsableType parsableType);
        IEnumerable<string> GetLabels();
        IPropertyHost GetItem(string label);
        void Remove(string label);
        int GetPosition(string label);
        void SetPosition(string label, int position);
        void Rename(string label, string newLabel);
    }

    /// <summary>
    /// Implemented by the PropertyProvider that support IContainerBehavior.
    /// </summary>
    public interface ISupportContainerBehavior
    {
        IContainerBehavior ContainerBehavior { get; }
    }
}
